Uslovi za pojavu mrtve petlje
Vrsta: Seminarski | Broj strana: 24
UVOD
Mrtva petlja opisuje situaciju u kojoj je trajno
zaustavljena aktivnost
međusobno zavisnih procesa. Na primer, to se
desi kada dva procesa žele da u
režimu međusobne isključivosti pristupaju dvema
datotekama.
Ako prvi od njihotvori prvu datoteku, a zatim
drugi od njih otvori drugu datoteku, tada nema mogućnosti za nastavak
aktivnosti tih procesa, bez obzira da li je sistemska operacija otvaranja
blokirajuća ili ne. U slučaju blokirajućih sistemskih operacija
otvaranja, pokušaj prvog procesa da otvori drugu
datoteku dovodi do trajnog
zaustavljanja njegove aktivnosti.
Isto se dešava sa drugim procesom prilikom
njegovog pokušaja da otvori prvu datoteku. Zaustavljanje aktivnosti ova dva procesa
je trajno, jer je svaki od njih zauzeo datoteku koja treba onom drugom procesu
za nastavak njegove aktivnosti i nema nameru da tu datoteku oslobodi.
U slučaju neblokirajuće sistemske operacije
otvaranja, procesi upadaju u beskonačnu
petlju (starvation), pokušavajući da otvore
datoteku, koju je isključivo za sebe već
otvorio drugi proces. Ovakav oblik međusobne
zavisnosti procesa se naziva i živa
petlja (livelock). Ona se, po svom ishodu,
suštinski ne razlikuje od mrtve petlje.
Pojava mrtve petlje je vezana za zauzimanje
resursa, kao što su, na primer,
prethodno pomenute datoteke. Pri tome, za pojavu
mrtve petlje je potrebno da budu
ispunjena četiri uslova:
1. zauzimani resursi se koriste u režimu
međusobne isključivosti,
2. resursi se zauzimaju jedan za drugim, tako da
proces, nakon zauzimanja
izvesnog broja resursa, mora da čeka da zauzme
preostale resurse,
3. resurse oslobađaju samo procesi koji su ih
zauzeli i
4. postoji cirkularna međuzavisnost procesa
(prvi proces čeka oslobađanje
resursa koga drži drugi proces, a on čeka
oslobađanje resursa koga drži treći
proces, i tako redom do poslednjeg procesa iz
lanca procesa, koji čeka
oslobađanje resursa koga drži prvi proces).
USLOVI ZA POJAVU MRTVE PETLJE
Coffman et al. (1971) pokazao je da se moraju zadovoljiti
četiri uslova da bi se stvorila mrtva petlja:
Uslov uzajamnog izuzeća. Svaki resurs je ili
trenutno dodjeljen tačno jednom procesu ili je slobodan.
Uslov drži i čekaj. Procesi koji trenutno drže
resurse koji su ranije dozvoljeni mogu tražiti nove resurse.
Uslov nemogućnosti oduzimanja resursa bez
posljedica Resursi koji su prethodno odobreni ne mogu se silom oduzeti od
procesa koji ih trenutno posjeduju. Moraju se osloboditi eksplicitno od strane
procesa koji ih drži (nonpreemption).
Uslov cirkularnog čekanja. Mora postojati
cirkularni lanac od dva ili više procesa, gdje svaki čeka na resurs kojeg drži
idući član lanca.
---------- CEO RAD MOŽETE PREUZETI NA SAJTU. ----------
MOŽETE NAS KONTAKTIRATI NA E-MAIL: [email protected]
maturski.org Besplatni seminarski Maturski Diplomski Maturalni SEMINARSKI RAD , seminarski radovi download, seminarski rad besplatno, www.maturski.org, Samo besplatni seminarski radovi, Seminarski rad bez placanja, naknada, sms-a, uslovljavanja.. proverite!